﻿#pragma warning(disable: 4996)
#pragma warning(disable: 6031)

/*
一个IP地址是用四个字节（每个字节8个位）的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。

输入格式：
输入在一行中给出32位二进制字符串。

输出格式：
在一行中输出十进制格式的IP地址，其由4个十进制数组成（分别对应4个8位的二进制数），中间用“.”分隔开。

输入样例：
11001100100101000001010101110010
输出样例：
204.148.21.114
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

typedef struct TContext_s
{
	char buf[10][255];
	int n;
}TContext;

TContext context;

void read_data(TContext* ctx)
{
	for(int i=0;i<4;++i)
		gets(ctx->buf[i]);
	ctx->n = 4;
}

void dump(TContext* ctx)
{
	for(int i=0;i<ctx->n;++i)
		printf("%s\n", ctx->buf[i]);
}

void dump_poem_end(TContext* ctx)
{
	for (int i = 0; i < ctx->n; ++i)
	{
		int s = strlen(ctx->buf[i]);
		printf("%s", ctx->buf[i] + s - 2);
	}
	printf("\n");
}

void solve(TContext* ctx)
{
	read_data(ctx);	
	dump_poem_end(ctx);	
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-93.txt", "r", stdin);
	solve(&context);
	return 0;
}
